package com.glaciervirtualdevice.Generator;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class CronGenerator {
    private static final List<String> CRON_EXPRESSIONS = new ArrayList<>();
    private static final Random RANDOM = new Random();

    static {
        // 初始化预设的 Cron 表达式列表
//        CRON_EXPRESSIONS.add("0 0 12 * * ?"); // 每天中午 12 点执行任务
//        CRON_EXPRESSIONS.add("0 15 10 ? * *"); // 每天上午 10 点 15 分执行任务
//        CRON_EXPRESSIONS.add("0 0 8-10 * * ?"); // 每天上午 8 点、9 点和 10 点执行任务
//        CRON_EXPRESSIONS.add("0 0/5 14 * * ?"); // 每天下午 2 点开始，每隔 5 分钟执行一次任务，直到下午 2 点 59 分
//        CRON_EXPRESSIONS.add("0 0 12 ? * WED"); // 每周三中午 12 点执行任务

        CRON_EXPRESSIONS.add("*/1 * * * * ?"); // 每秒执行一次
        CRON_EXPRESSIONS.add("*/3 * * * * ?"); // 每3秒执行一次
        CRON_EXPRESSIONS.add("*/5 * * * * ?"); // 每5秒执行一次
        CRON_EXPRESSIONS.add("*/7 * * * * ?"); // 每7秒执行一次
        CRON_EXPRESSIONS.add("*/10 * * * * ?"); // 每10秒执行一次
    }

    /**
     * 随机生成一个预设的 Cron 表达式
     * @return 随机生成的 Cron 表达式
     */
    public static String getCron() {
        int randomIndex = RANDOM.nextInt(CRON_EXPRESSIONS.size());
        return CRON_EXPRESSIONS.get(randomIndex);
    }

//    public static void main(String[] args) {
//        String randomCron = generateRandomCron();
//        System.out.println("随机生成的 Cron 表达式: " + randomCron);
//    }
}    